python 爬虫 url error : HTTP 403 Forbidden

您所在的位置:网站首页 网页提示403 error python 爬虫 url error : HTTP 403 Forbidden

python 爬虫 url error : HTTP 403 Forbidden

2024-07-09 09:31| 来源: 网络整理| 查看: 265

之后又写了一篇使用代理的笔记 点击打开链接

--------------

用Python爬取QQ空间内容的时候, 一开始的程序,不知道怎么回事,线程应该也不是问题,频繁出现 Http  403 Forbidden ,在提交请求

get 或者post 的时候,也都加了headers ,不过还是大量抛出403 异常;

后来发现用火狐的firebug 查看访问的url时候,发现就算是浏览器直接访问,抓包工具上也是显示403错误,然后于是用谷歌浏览器自带的抓包工具结果正常访问 返回200 , 就觉得可能是headers的问题,

一开始设置的headers的火狐的:

headers={ 'User-Agent' :'MMozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0' }然后用谷歌的headers:

headers={ 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.137 Safari/537.36 LBBROWSER' }都改了之后,在运行发现403消失了!

虽然太清楚原因,但是也算是一种解决方法吧。

对用Python 做爬虫时候HTTP 403 错误,总结一下吧:

1, 首先是伪装成浏览器访问 加入headers。 headers里面最主要的内容就是User-Agent, 这个可以通过浏览器的抓包工具获取

2, 如果仍然403 Forbidden, 那就在尝试在headers内容里面加入   Host项:如下:

headers={ 'Host':'ptlogin2.qq.com', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.137 Safari/537.36 LBBROWSER' }3,问题仍然不行的话, 换一个headers,其他的headers都可以通过不同浏览器的开发者工具得到 最好的方法就是把常用的各种headers写到一个表里面就行,一个不行换另一个,或者随机使用一个也可以。

另外附上一些uses_agents:

user_agents = [ 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11', 'Opera/9.25 (Windows NT 5.1; U; en)', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)', 'Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.5 (like Gecko) (Kubuntu)', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070731 Ubuntu/dapper-security Firefox/1.5.0.12', 'Lynx/2.8.5rel.1 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/1.2.9', "Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.7 (KHTML, like Gecko) Ubuntu/11.04 Chromium/16.0.912.77 Chrome/16.0.912.77 Safari/535.7", "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:10.0) Gecko/20100101 Firefox/10.0 ", ]



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3